package com.tanhua.dubbo.api.mongo;

import com.tanhua.model.mongo.UserLike;
import com.tanhua.model.vo.PageResult;

import java.util.List;

/**
 * 用户喜欢服务接口
 */
public interface UserLikeApi {
    /**
     * 喜欢 或 不喜欢 记录
     * @param userLike
     * @return
     */
    boolean save(UserLike userLike);

    /**
     * 小视频-撤销关注
     * @param uid
     * @param userId
     */
    void delete(Long uid, Long userId);

    /**
     * 查询我喜欢的
     * @param userId
     * @return
     */
    Integer findById(Long userId);


    /**
     * 查询 我的粉丝（喜欢我的）
     * @param userId
     * @return
     */
    Integer findByIds(Long userId);

    /**
     * 查询是否喜欢
     * @param id
     * @param userId
     * @return
     */
    Boolean findAlreadyLove(Long id, Long userId);

    /**
     * 分页查询互相喜欢对象
     * @param page
     * @param pageSize
     * @param userId
     * @return
     */
    PageResult findPage1(Long page, Long pageSize, Long userId);

    /**
     * 分页查询互相喜欢对象
     * @return
     */
    PageResult findPage2(Long page, Long pageSize, Long userId);

    /**
     * 查询我的关注
     * @param userId
     * @return
     */
    List<Long> findByUserId1(Long userId);

    /**
     * 查找我的粉丝
     * @param userId
     * @return
     */
    List<Long> findByUserId2(Long userId);
}
